package com.payment.system.mapper;

import com.payment.common.annotation.DataSource;
import com.payment.common.enums.DataSourceType;
import com.payment.system.domain.ResourcesType;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 资源类型 数据层
 * 
 * @author payment
 * @date 2019-01-24
 */
public interface ResourcesTypeMapper 
{
	/**
     * 查询资源类型信息
     * 
     * @param id 资源类型ID
     * @return 资源类型信息
     */
	@DataSource(DataSourceType.SLAVE)
	public ResourcesType selectResourcesTypeById(Long id);
	
	/**
     * 查询资源类型列表
     * 
     * @param resourcesType 资源类型信息
     * @return 资源类型集合
     */
	@DataSource(DataSourceType.SLAVE)
	public List<ResourcesType> selectResourcesTypeList(ResourcesType resourcesType);
	
	/**
     * 新增资源类型
     * 
     * @param resourcesType 资源类型信息
     * @return 结果
     */
	public int insertResourcesType(ResourcesType resourcesType);
	
	/**
     * 修改资源类型
     * 
     * @param resourcesType 资源类型信息
     * @return 结果
     */
	public int updateResourcesType(ResourcesType resourcesType);
	
	/**
     * 删除资源类型
     * 
     * @param id 资源类型ID
     * @return 结果
     */
	public int deleteResourcesTypeById(Integer id);
	
	/**
     * 批量删除资源类型
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteResourcesTypeByIds(String[] ids);

	//校验资源类型唯一
    ResourcesType checkTypeUnique(@Param("type") String type);

    //查询全部
	@DataSource(DataSourceType.SLAVE)
	List<ResourcesType> selectResourcesTypeAll();

	//app端 学堂展示列表
	@DataSource(DataSourceType.SLAVE)
	List<ResourcesType> selectResourcesTypeAllByXT();
}